package com.biu.billiards.service;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.biu.billiards.model.bo.OrderAdminBO;
import com.baomidou.mybatisplus.extension.service.IService;
import com.biu.billiards.model.bo.SumBO;
import com.biu.billiards.model.bo.SumShopBO;
import com.biu.billiards.model.bo.WaterBo;
import com.biu.billiards.model.entity.OrderAdmin;
import com.biu.billiards.model.vo.shop.orderAdmin.AddOrderAdminVo;
import com.biu.billiards.model.vo.shop.orderAdmin.GetOrderAdminVo;
import com.biu.billiards.model.vo.shop.orderAdmin.UpdateOrderAdminVO;
import com.biu.billiards.model.vo.shop.GetShopVo;
import com.biu.billiards.model.vo.withdraw.GetWithdrawVo;

import java.math.BigDecimal;
import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author xue
 * @since 2023-09-25
 */
public interface IOrderService extends IService<OrderAdmin> {


    List<SumShopBO> allListShopSum(GetShopVo getShopVo);

    List<SumBO> allListSum(GetShopVo getShopVo);

    SumBO allSum();


    List<WaterBo> getPieInfo(GetShopVo getShopVo);
    List<WaterBo> getStreamInfo(GetShopVo getShopVo);

    IPage<OrderAdminBO> getOrderPage(GetOrderAdminVo getOrderVo);


    Boolean recommendOrder(AddOrderAdminVo addOrderAdminVo);


    Boolean orderNumber();

    Boolean topUpOrder(AddOrderAdminVo addOrderAdminVo);

    Boolean updateOrder(UpdateOrderAdminVO updateOrderVO);

    Boolean updateOrderStatus(String out);


    Boolean updateOrderPayStatus(String out);


    Boolean addOrder(AddOrderAdminVo addOrderVo);

    Boolean deleteOrder(String orderId);

}
